﻿using Microsoft.EntityFrameworkCore;
using System;
using System.Collections.Generic;
using System.Text;

namespace MyCore.Entities
{
    public class ApplicationDbContext : DbContext
    {
        public ApplicationDbContext(DbContextOptions<ApplicationDbContext> options) : base(options)
        {
        }
        public ApplicationDbContext() 
        {
        }
        public DbSet<Language> Languages { get; set; }
        public DbSet<Class> Class { get; set; }
        public  DbSet<Fav> Fav { get; set; }

        protected override void OnModelCreating(ModelBuilder modelBuilder)
        {
            modelBuilder.ApplyConfiguration(new LanguageConfiguration());
            modelBuilder.ApplyConfiguration(new ClassConfiguration());
            modelBuilder.ApplyConfiguration(new FavConfiguration());

            //modelBuilder.Entity<Class>(entity =>
            //{
            //    entity.ToTable("Class");
            //    entity.Property(e => e.Id).HasColumnName("ID");

            //    entity.Property(e => e.Count).HasColumnName("COUNT");

            //    entity.Property(e => e.Desc)
            //        .HasColumnName("DESC")
            //        .HasMaxLength(50);

            //    entity.Property(e => e.Name)
            //        .HasColumnName("NAME")
            //        .HasMaxLength(50);
            //});


            //modelBuilder.Entity<Fav>(entity =>
            //{

            //    entity.ToTable("Fav");
            //    entity.HasKey(e => e.BsId)
            //        .HasName("PK_fav");

            //    entity.Property(e => e.BsId).HasColumnName("BS_ID");

            //    entity.Property(e => e.BsAccessdate)
            //        .HasColumnName("BS_ACCESSDATE")
            //        .HasMaxLength(50);

            //    entity.Property(e => e.BsClassid).HasColumnName("BS_CLASSID");

            //    entity.Property(e => e.BsCount).HasColumnName("BS_COUNT");

            //    entity.Property(e => e.BsDate)
            //        .HasColumnName("BS_DATE")
            //        .HasMaxLength(50);

            //    entity.Property(e => e.BsDesc).HasColumnName("BS_DESC");

            //    entity.Property(e => e.BsFlag).HasColumnName("BS_FLAG");

            //    entity.Property(e => e.BsGood)
            //        .HasColumnName("BS_GOOD")
            //        .HasDefaultValueSql("((0))");

            //    entity.Property(e => e.BsHide).HasColumnName("BS_HIDE");

            //    entity.Property(e => e.BsLeven).HasColumnName("BS_LEVEN");

            //    entity.Property(e => e.BsName).HasColumnName("BS_NAME");

            //    entity.Property(e => e.BsNo)
            //        .HasColumnName("BS_NO")
            //        .HasMaxLength(10);

            //    entity.Property(e => e.BsTag)
            //        .HasColumnName("BS_TAG")
            //        .HasMaxLength(50);

            //    entity.Property(e => e.BsUrl).HasColumnName("BS_URL");

            //    entity.Property(e => e.BsUserId)
            //        .HasColumnName("BS_UserID")
            //        .HasMaxLength(50);

            //    entity.Property(e => e.BsValid)
            //        .HasColumnName("BS_Valid")
            //        .HasDefaultValueSql("((0))");
            //});

            //OnModelCreatingPartial(modelBuilder);
        }

        //partial void OnModelCreatingPartial(ModelBuilder modelBuilder);
    }
}
